import {stringifyQuery} from "@/utils/index.js"

/**
 * 函数防抖 (只执行最后一次点击)
 * @param fn
 * @param delay
 * @returns {Function}
 * @constructor
 */
export const Debounce = (fn, t) => {
	const delay = t || 500
	let timer
	return function() {
		const args = arguments
		if (timer) {
			clearTimeout(timer)
		}
		timer = setTimeout(() => {
			timer = null
			fn.apply(this, args)
		}, delay)
	}
}


// 在需要刷新当前页面的地方调用以下方法
export function refreshCurrentPage() {
  // 获取当前页面的路径
  let currentPage = getCurrentPages().pop();
  if (currentPage) {
    // 重启当前页面
    uni.reLaunch({
      url: `/${currentPage.route}` + (currentPage.options ? `?${stringifyQuery(currentPage.options)}` : '')
    });
  }
}
